// TODO: java版临时注释 默认值优先级低
// package com.inspur.edp.bef.dtgenerator.core.beActionAssembler.defaultValue;
//
//
// import com.inspur.edp.bef.dtgenerator.core.BefCoreGenCtx;
// import com.inspur.edp.caf.generator.baseInfo.ParameterInfo;
// import com.inspur.edp.caf.generator.method.ClassMethodGenerator;
// import com.inspur.edp.cef.entity.entity.IEntityData;
// import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
// import sun.reflect.generics.reflectiveObjects.NotImplementedException;
//
// public class DefaultValue_SetValueMethodGenerator extends ClassMethodGenerator
// {
//	private static final String methodName = "SetValue";
//	private static final String nodeCodeParName = "nodeCode";
//	private static final String entityDataParName = "entitydata";
//	ParameterInfo tempVar = new ParameterInfo();
//	ParameterInfo tempVar2 = new ParameterInfo();
//
//		//region Basic
//	private BefCoreGenCtx coreGenCtx;
//	public DefaultValue_SetValueMethodGenerator(BefCoreGenCtx coreGenCtx)
//	{
//		this.coreGenCtx = coreGenCtx;
//	}
//
//
//	@Override
//	protected java.util.ArrayList<ModifierKeyword>  getAccessModifiers() { return new
// java.util.ArrayList<ModifierKeyword>(java.util.Arrays.asList(new ModifierKeyword[] {
// ModifierKeyword.PUBLIC_KEYWORD, ModifierKeyword.Override })); }
//	tempVar.setParamName(nodeCodeParName);
//	tempVar.setParamType(com.inspur.edp.cef.generator.overall.Utils.createTypeInfo(String.class));
//
//
//	@Override
//	protected String  getMethodName() { return methodName; }
//	tempVar2.setParamName(entityDataParName);
//	tempVar2.setParamType(com.inspur.edp.cef.generator.overall.Utils.createTypeInfo(IEntityData
// .class));
//
//
//	@Override
//	protected java.util.ArrayList<ParameterInfo>  getParameterCollection() { return new
// java.util.ArrayList<ParameterInfo>(java.util.Arrays.asList(new ParameterInfo[] { tempVar,
// tempVar2 })); }
//
//
//	@Override
//	protected TypeInfo  getReturnType() { return void.class; }
//
//		//endregion
//
//
//		//region MethodBody
////
////        public abstract void  setValue(string nodeCode, IEntityData entitydata);
////        {
////            switch (nodeCode)
////            {
////                case "Root":
////                    SetValueCore(nodeCode, entitydata, SetValue_Root);
////                    break;
////                default:
////                    throw new ArgumentOutOfRangeException("nodeCode", nodeCode, "invalid
// nodeCode");
////            }
////        }
////
//	@Override
//	protected Block  buildMethodBody()
//	{
//		return
// SyntaxFactory.Block(SyntaxFactory.<StatementSyntax>SingletonList(SyntaxFactory.ThrowStatement(SyntaxFactory.ObjectCreationExpression(TypeUtils.GetTypeSyntax(
//				NotImplementedException.class)).WithArgumentList(SyntaxFactory.ArgumentList()))));
//		//var nodes = coreGenCtx.BEGenContext.BE.GetAllNodes();
//		//List<SwitchSectionSyntax> switchSections = new List<SwitchSectionSyntax>(nodes.Count + 1);
//		//foreach (var node in nodes)
//		//{
//		//    switchSections.Add(SyntaxFactory.SwitchSection()
//		//        .WithLabels(
//		//            SyntaxFactory.SingletonList<SwitchLabelSyntax>(
//		//                SyntaxFactory.CaseSwitchLabel(
//		//                    SyntaxFactory.LiteralExpression(
//		//                        SyntaxKind.StringLiteralExpression,
//		//                        SyntaxFactory.Literal(node.getCode())))))
//		//        .WithStatements(
//		//            SyntaxFactory.List<StatementSyntax>(
//		//                new StatementSyntax[]{
//		//                    SyntaxFactory.ExpressionStatement(
//		//                        SyntaxFactory.InvocationExpression(
//		//                            SyntaxFactory.IdentifierName("SetValueCore"))
//		//                        .WithArgumentList(
//		//                            SyntaxFactory.ArgumentList(
//		//                                SyntaxFactory.SeparatedList<ArgumentSyntax>(
//		//                                    new SyntaxNodeOrToken[]{
//		//                                        SyntaxFactory.Argument(
//		//                                            SyntaxFactory.IdentifierName(nodeCodeParName)),
//		//                                        SyntaxFactory.Token(SyntaxKind.CommaToken),
//		//                                        SyntaxFactory.Argument(
//		//                                            SyntaxFactory.IdentifierName(entityDataParName)),
//		//                                        SyntaxFactory.Token(SyntaxKind.CommaToken),
//		//                                        SyntaxFactory.Argument(
//		//
// SyntaxFactory.IdentifierName(DefaultValue_SetNodeValueMethodGenerator.GetItemName(node)))})))),
//		//                    SyntaxFactory.BreakStatement()})));
//		//}
//		//switchSections.Add(SyntaxFactory.SwitchSection()
//		//    .WithLabels(
//		//        SyntaxFactory.SingletonList<SwitchLabelSyntax>(
//		//            SyntaxFactory.DefaultSwitchLabel()))
//		//    .WithStatements(
//		//        SyntaxFactory.SingletonList<StatementSyntax>(
//		//            SyntaxFactory.ThrowStatement(
//		//                SyntaxFactory.ObjectCreationExpression(
//		//                    TypeUtils.GetTypeSyntax(typeof(ArgumentOutOfRangeException)))
//		//                .WithArgumentList(
//		//                    SyntaxFactory.ArgumentList(
//		//                        SyntaxFactory.SeparatedList<ArgumentSyntax>(
//		//                            new SyntaxNodeOrToken[]{
//		//                                SyntaxFactory.Argument(
//		//                                    SyntaxFactory.LiteralExpression(
//		//                                        SyntaxKind.StringLiteralExpression,
//		//                                        SyntaxFactory.Literal(nodeCodeParName))),
//		//                                SyntaxFactory.Token(SyntaxKind.CommaToken),
//		//                                SyntaxFactory.Argument(
//		//                                    SyntaxFactory.IdentifierName(nodeCodeParName)),
//		//                                SyntaxFactory.Token(SyntaxKind.CommaToken),
//		//                                SyntaxFactory.Argument(
//		//                                    SyntaxFactory.LiteralExpression(
//		//                                        SyntaxKind.StringLiteralExpression,
//		//                                        SyntaxFactory.Literal("invalid " +
// nodeCodeParName)))})))))));
//
//		//return SyntaxFactory.Block(
//		//    SyntaxFactory.SingletonList<StatementSyntax>(
//		//        SyntaxFactory.SwitchStatement(
//		//            SyntaxFactory.IdentifierName(nodeCodeParName))
//		//        .WithSections(
//		//            SyntaxFactory.List<SwitchSectionSyntax>(switchSections.ToArray()))));
//	}
//
//		//endregion
// }
